package com.wcs.exam.controller.auth.resp;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * Auth-考试-考试记录-排名分页--响应对象
 * </p>
 *
 * @author wcs
 * @since 2024-07-10
 */
@Getter
@Setter
@Accessors(chain = true)
@Schema(description = "Auth-考试-考试记录-自身排名--响应对象")
public class AuthExamRankSelfResp implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "用户ID")
    private Long userId;

    @Schema(description = "考试ID")
    private Long examId;

    @Schema(description = "考试类型(1：模拟考试、2：正式考试)")
    private Integer examType;

    @Schema(description = "用户得分")
    private BigDecimal userScore;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Schema(description = "考试提交时间")
    private LocalDateTime examSubmitTime;

    @Schema(description = "用户作答时间(单位：秒)")
    private Integer userAnswerTime;

    @Schema(description = "考试状态(1:未考、2:考试中、3:考试完成、4:及格、5:不及格)")
    private Integer userExamStatus;

    @Schema(description = "评阅状态(1:未知、2:待阅卷、3:阅卷中、4:已阅卷)")
    private Integer userEvaluationStatus;

    /*------------------------------------ 拓展信息 ------------------------------------*/

    @Schema(description = "用户名称")
    private String nickname;

    @Schema(description = "用户头像")
    private String userHead;

    @Schema(description = "排行榜NO")
    private Integer rankNo;
}
